#!/usr/bin/env bash

# 以下 $* $@ 产生4个词结果  “$*” 产生1个词结果 "$@" 产生2个词结果，保留参数的完整性
# $* 当它被用双引号引起来的时候，展开成一个由双引号引起来的字符串，包含了所有的位置参数，每个位置参数由shell 变量IFS 的第一个字符（默认为一个空格）分隔开。
# $@ 当它被用双引号引起来的时候，它把每一个位置参数展开成一个由双引号引起来的分开的字符串
# "$@"  是最有用的，保留了参数的完整性

print_params() {
	echo "\$1 = $1 "
	echo "\$2 = $2 "
	echo "\$3 = $3 "
	echo "\$4 = $4 "
}

pass_params() {
	echo -e "\n" '$*: '
	print_params $*
	echo -e "\n" '"$*": '
	print_params "$*"
	echo -e "\n" '$@: '
	print_params $@
	echo -e "\n" '"$@": '
	print_params "$@"
}

pass_params "word" "words with spaces"
